home *** CD-ROM | disk | FTP | other *** search
-
-
-
- Ymodem-G (Batch)
- Copyright © 1990
- Zipline Software
-
- Section 1 -- Protocol Limitations
-
- Ymodem-G is one of the FASTEST protocols to date. It will out
- transfer Xmodem, Ymodem, Ymodem Batch, Kermit, Sliding Windows Xmodem,
- and even Zmodem. This alone makes it very useful. This protocol uses
- a 16-bit CRC to make sure that your data gets transferred correctly,
- but if an error should occur, the transfer ABORTS. Realistically,
- this protocol should only be used with modems that have error correction
- built-in (or used with a null modem).
-
-
- Section 2 -- Program Limitations
-
- Although the description of Ymodem-G does not force these limitations,
- my program does. Most of them you will never encounter, but for sake of
- completeness, I will try and discuss all the limitations.
-
- - Do not attempt to transfer more than 2,147,483,647 bytes at a time.
- (It is possible it can transfer double that, but I haven't tested
- it, and I'm planning on it. Anyone that wants to try it, let me
- know what the results are! At 19,200 baud, that will take a little
- more than 12.9 days!)
-
- - Ymodem-G automatically OVERWRITES any file that has the same name
- of the file you are receiving.
-
- - There is no check on the path that you give YMG, if it's really bad,
- it MIGHT bomb the computer. (Don't try for example, d/ling to the
- cartridge port!)
-
- - YMG requires approximately another 17K above the program size for
- its own use. Most of this space (16K) is used for the modem and
- disk buffers. Floppy drives systems need these big of buffers,
- and they aren't too terribly big, so I did not allow them to be
- changed.
-
- - This program is copyrighted and shareware. You may copy it, give
- it away, put it up for download on BBS's, etc. You may not sell it.
- AND, if you use this program for more than 3 weeks, send the
- author (ME), a small fee to keep producing quality software like
- this. My address is:
-
- Robert McKee
- 395 S. Duane #301
- Glen Ellyn, IL 60137
-
- Section 3 -- Running ymodem-g
-
- You may run YMG from inside any terminal that supports running
- external programs. It may also be run from the desktop, if your terminal
- does not support this function. When running YMG from the desktop, a box
- will appear asking you to input the parameters for YMG.
-
- Section 4 -- YMG Options
-
- YMG now requires that all options be preceded by a -. Also, most
- options should be followed by either a - or a +. Following an option
- a minus (-) sign will disable or turn off that option. Following an
- option with a plus (+) sign will enable or turn on that option. These
- are the options that YMG will accept:
-
- B - Will enable/disable a beep at the end of a transfer.
-
- H - Instead of +/-, this option requires you to have following it
- one of these 4 letters: N, S, H, or B. This option is for
- setting flow control. N - None; S - Software; H - Hardware; or
- B - Both. If this option is left out, flow control will not be
- changed. (It will use whatever you have set currently).
-
- K - Keep aborted files. If for some reason a transfer gets canceled,
- (like user aborting) you may still want as much as the file as
- you have received. This allows you to finish the download with
- any protocol that has a resume function (like Z-modem).
-
- EX:
- YMG -B+ -HH -K+ C:\ This will tell YMG to use hardware flow control,
- keep any aborted files, beep at the end of the
- transfer, and download all the files to C:\.
- YMG -B+ C:\ This will tell YMG to beep at the end of the
- transfer, and download to C:\. It will use the
- flow control that was being used before YMG
- started.
- YMG This wll use all the default options, and will
- download to the current directory.
-
- Section 5 -- Modification Log (AKA what I changed in this version)
-
- Version .25 -- 05/??/90
- - First release -- Written in 100% assembler to be small and fast
- - No outputs really, just simple got block messages
-
- Version .50 -- 06/07/90
- - Added disk buffering (4K)
- - Added new user interface
- - Batch Status
- - Total Files -- # of files sent
- - Total Bytes -- # of bytes sent
- - Avg Throughput -- CPS on whole transfer
- - Elapsed Time -- Elapsed time on whole transfer
- - File Status
- - File Name -- Name of file in transit
- - Total Bytes -- The total number of bytes in the file
- - Avg Throughput -- CPS on current file
- - Current Byte -- Total bytes in file received
- - Elapsed Time -- Elapsed time on current file only
- - Last Message -- Messages about transfer
- - Last Block
- - Size in Bytes -- The size of the last block sent
- - Block Type -- What was contained in the last block
- - Sent CRC's -- The CRC the sender gave us
- - Calculated CRC -- The CRC we calculated it should be
-
- Version .75 -- 06/19/90
- - Fixed a minor bug when communicating with IBM systems that send
- the extra info in the header block.
- - Added File Progress added in both % and visual bar
- - Added File Time Estimate which give an approximate amount of time
- that the current file will take.
- - Now gives error messages in English instead of result codes.
- - Now allows a path to d/l to on the command line, and shows that path
- in the Batch File Path line.
- - More accurate CPS rates. Also, not quite as jumpy as before.
- (The former routine was only accurate when alot of bytes had been
- transfered).
- - Can now timeout if the sender stops sending too long. Previously
- would wait forever (or until UNDO was hit).
- - Optimized my code greatly...Should hopefully be fast enough for any
- baud rate.
- - All times are now in tenths of a second instead of seconds.
- - Now updates the screen every block *AND* during the block IF there
- is no data to get.
- - Now supports both color and monochrome monitors.
-
- Version 1.0 -- 06/20/90
- - Added a modem buffer (8K)
- - Increased disk buffer to 8K
- - Disabled flow control completely by using my own buffer and raising
- the high water mark above the buffer length. So, now instead of a
- lock-up when the buffer overflows, you only get an error message of
- some sort.
- - Added Files Window to show the last few files you've already got
- including the one you've started to get as well.
-
- Version 1.01 -- 06/22/90
- - Fixed minor bugs with reseting the modem buffer to the defaults when
- leaving YMG.
- - Renamed YMG.PRG to YMG.TTP so a command line can be entered from the
- desktop.
-
- Version 1.02 -- 06/28/90
- - Increased the amount of time needed for a timeout from 1 second to
- 5 seconds. This should be long enough for any reason.
-
- Version 1.17 -- 07/18/90
- - Added flow control options so YMG can use flow even if the terminal
- program that calls it doesn't.
- - Now reserves and protects its memory while running (It also releases
- it when it terminates).
- - Now uses BIOS calls for modem input. This should increase some
- compatibility. (This also slows down YMG, so floppy drives may/
- may not work again!)
- - Optimized both speed and size alot. It's about as fast and small
- as it's going to get. (About 250 bytes smaller now!)
-
- Version 1.18 -- 07/30/90
- - Changed the CRC routine. Instead of a pure calculation of the
- 16-bit CRC which was used prior to version 1.18, now YMG uses a
- simple table look-up (with a small formula). The CRC routine now
- takes approximately 70 cycles instead of 272. (about 4 times as
- fast). Unfortunately, this requires the 512-byte table to be added
- to the length of YMG. (Oh well!)
- - Fixed problem with YMG exitting with the character color being
- green if there was an error.
- - Fixed the screen wrap problem. YMG was assuming that the screen
- wrap was off, and if a program turned it on previous to calling
- YMG, the screen would appear completely messed up.
-
- Version 1.19 -- 07/31/90
- - Minor changes made, basically just more speed and size optimization.
- About 200 bytes smaller in size, and just a few cycles taken out here
- and there. Changed all compares to zero to test, a few moves to
- quick moves, a few adds to quick adds, a few subs to quick subs, etc.
- Also combined a few multiple moves of word sized immediates to a few
- move of long sized immediates. Instead of logical shifting a data
- register to the left one, substitutions of adding the data reg. to
- itself.
-
- Version 1.25 -- 08/09/90
- - Major overhaul of quite a few sections of YMG. I have completely
- redone how to pass options to YMG (this was done so that I can now
- implement more options on the command line, but still remain pretty
- much constant between revisions, also it looks alot better). New
- options added now are -B+, and -K-. Also, usage screen comes up if
- the parameters are not passed correctly. This should help people
- get used to the new way that YMG takes it's parameters. Quite a few
- more options are going to be added, of which a few are already in
- the help screen, so don't be alarmed if the options there do not
- work yet.
-
- I wantted to say thank you to these fine BBS's that have put up with me
- downloading 100+ files in testing this program:
- Software Syndicate (708)307-9915 14400HST ///Turbo BBS
- Graveyard BBS (708)250-0968 2400 FoReM ST
- Dragon's Egg II (708)695-8617 9600 HST ///Turbo BBS
- Code One (708)789-3610 2400 FoReM ST
-